iT邦幫忙

2022 iThome 鐵人賽

DAY 8
0
Software Development

C++超級菜鳥也可以懂的物件導向攻略系列 第 8

Day08- C++ function函數 - 參數Parameter

  • 分享至 

  • xImage
  •  

前言:昨天Day07聊到函數的回傳值需要定義data type資料型態。
(關於如何區分資料型態請搭Day02直通車
這大概是底層語言最有趣的部分之一了。

參數parameter

在function裡,有兩種parameter參數

  • 真正定義該數值的Actual Parameter實際參數,也稱為argument
  • 另一個是形式上的參數Formal parameter

講起來很繞口對不對,趕快來看以下範例:

       //這邊的int a, int b是形式上的參數    
int sum(int a, int b){
    return a + b;
}
int main(){
    sum(4, 2); //這裡稱為實際參數也是argument,實際的數字是這邊輸入
}

記得參數也要配上適當的資料型態data type,例如下面這樣就行不通:

int A(string a, string b){
    return a - b;
}

因為int A()表示只能輸出int,a - b也無法用string表示,如果在呼叫這個function時寫這樣A(apple, banana);,裡面是字串,會出現error。


也可以設定一個default parameter value,這樣沒有argument的時候就會自動執行。

void function(string city = "Taipei"){
    cout << city << endl;
}
int main(){
    function(); //會自動輸出Taipei喔
}

使用示範

目標:用function記錄一天三餐吃了什麼,及總共多少錢。
(此為混合參數,參數的資料型態不同)

void mydiet(string breakfast, string lunch, string dinner, int price){
     cout << breakfast << ", " << lunch << ", " << dinner << ". Price = " << price;
}
     
int main(){
    mydiet("bacon and egg", "Pork fried rice", "dumplings", 300);
}
    
    Output:bacon and egg, Pork fried rice, dumplings. Price = 300

Reference: geeksforgeeks, CodeBeauty(Youtube), W3school


上一篇
Day07 - C++ function (函式\函數)
下一篇
Day09 - C++ 遞迴Recursion
系列文
C++超級菜鳥也可以懂的物件導向攻略30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言